package com.liang.design.event;

import com.liang.design.ICouponDiscount;

import java.math.BigDecimal;

/**
 * @author lsm
 * @ClassName ZKCouponDiscount.java
 * @Description 折扣
 * @createTime 2023年12月06日 16:47:00
 */
public class ZKCouponDiscount implements ICouponDiscount<Double> {

    /**
     * 折扣计算
     * 1. 使用商品价格乘以折扣⽐比例，为最后支付金额
     * 2. 保留两位⼩小数
     * 3. 最低支付金额1元
     */
    public BigDecimal discountAmount(Double couponInfo, BigDecimal skuPrice) {
        BigDecimal discountAmount = skuPrice
                .multiply(new BigDecimal(couponInfo))
                .setScale(2, BigDecimal.ROUND_HALF_UP);
        if (discountAmount.compareTo(BigDecimal.ZERO) < 1)
            return BigDecimal.ONE;
        return discountAmount;
    }
}
